package com.bestvike.stone.spring.shiro.mgt;

import com.bestvike.stone.spring.shiro.annotation.resolver.AnnotationResolver;
import com.bestvike.stone.spring.shiro.authc.Authenticator;
import com.bestvike.stone.spring.shiro.authz.Authorizer;
import com.bestvike.stone.spring.shiro.cache.CacheManager;
import com.bestvike.stone.spring.shiro.realm.Realm;

import java.util.Collection;

/**
 * 安全管理器
 */
public interface SecurityManager extends Authenticator, Authorizer {
    /**
     * 获取注解解析器
     */
    AnnotationResolver getAnnotationResolver();

    /**
     * 获取缓存管理器
     */
    CacheManager getCacheManager();

    /**
     * 获取认证领域集合
     */
    Collection<Realm> getRealms();
}
